home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / misc / 40 / rip.c < prev    next >
C/C++ Source or Header  |  1986-07-17  |  2KB  |  82 lines

  1. /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  2. /* rip.c - version 1.0.2 */
  3.  
  4. #include <stdio.h>
  5. #include "hack.h"
  6.  
  7. extern char plname[];
  8.  
  9. static char *rip[] = {
  10. "                       ----------",
  11. "                      /          \\",
  12. "                     /    REST    \\",
  13. "                    /      IN      \\",
  14. "                   /     PEACE      \\",
  15. "                  /                  \\",
  16. "                  |                  |",
  17. "                  |                  |",
  18. "                  |                  |",
  19. "                  |                  |",
  20. "                  |                  |",
  21. "                  |       1001       |",
  22. "                 *|     *  *  *      | *",
  23. "        _________)/\\\\_//(\\/(/\\)/\\//\\/|_)_______\n",
  24. 0
  25. };
  26.  
  27. outrip(){
  28.     register char **dp = rip;
  29.     register char *dpx;
  30.     char buf[BUFSZ];
  31.     register x,y;
  32.  
  33.     cls();
  34.     (void) strcpy(buf, plname);
  35.     buf[16] = 0;
  36.     center(6, buf);
  37.     (void) sprintf(buf, "%ld AU", u.ugold);
  38.     center(7, buf);
  39.     (void) sprintf(buf, "killed by%s",
  40.         !strncmp(killer, "the ", 4) ? "" :
  41.         !strcmp(killer, "starvation") ? "" :
  42.         index(vowels, *killer) ? " an" : " a");
  43.     center(8, buf);
  44.     (void) strcpy(buf, killer);
  45.     if(strlen(buf) > 16) {
  46.         register int i,i0,i1;
  47.         i0 = i1 = 0;
  48.         for(i = 0; i <= 16; i++)
  49.             if(buf[i] == ' ') i0 = i, i1 = i+1;
  50.         if(!i0) i0 = i1 = 16;
  51.         buf[i1 + 16] = 0;
  52.         center(10, buf+i1);
  53.         buf[i0] = 0;
  54.     }
  55.     center(9, buf);
  56.     (void) sprintf(buf, "%4d", getyear());
  57.     center(11, buf);
  58.     for(y=8; *dp; y++,dp++){
  59.         x = 0;
  60.         dpx = *dp;
  61.         while(dpx[x]) {
  62.             while(dpx[x] == ' ') x++;
  63.             curs(x,y);
  64.             while(dpx[x] && dpx[x] != ' '){
  65.                 extern int done_stopprint;
  66.                 if(done_stopprint)
  67.                     return;
  68.                 curx++;
  69.                 (void) putchar(dpx[x++]);
  70.             }
  71.         }
  72.     }
  73.     getret();
  74. }
  75.  
  76. center(line, text) int line; char *text; {
  77. register char *ip,*op;
  78.     ip = text;
  79.     op = &rip[line][28 - ((strlen(text)+1)>>1)];
  80.     while(*ip) *op++ = *ip++;
  81. }
  82.